关于操作系统中"分页",的问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:50:28
哪位能给解释一下:操作系统中,分页,分段,缺页的概念!通俗一点也好
最好能给我一份教程

什么是分页?
无论你的NT服务器的内存有多大,它总是显得不够充足。当物理RAM从低端开始运行时,Windows NT使用了分页文件Pagefile.sys。为了运行不同的进程和应用程序,Pagefile.sys给物理内存分配了一些空间。在这些空间内允许交换数据页。

分段?

程序分段的好处。cpu中的段寄存器中保存了段址(base)和偏移值的上限(limit)。段址:有效地址 中,如果有效地址大于limit,便会引发异常。这样就可以限制程序不能范围当前段外的数据,不能访问其他程序的数据。总之就是不能访问它不能访问的数据。
面向对象的好处。对象就是一块连续的内存中的数据吧。这点跟上面一点类似。通过限制访问,就做到了private的效果吧。

分段与分页:
(1)内存分段和内存分页一样都是一种内存管理技术,分段是为了权限保护,分页是为了虚拟内存.
(2)分段后,程序员可以定义自己的段,各段有独立的地址空间,象进程的地址空间互相独立一样.
(3)同一个类的实例分配在一个段中,只有该类的方法可以访问,如果其他类的方法去访问,会因为段保护而出错.可以从硬件上实现类的数据保护和隐藏

什么是缺页?
为什么会出现缺页?你的问题中已经有了答案。物理内存和系统“提供”给用户的内存的不对称性。
是不是很容易就出现缺页的情况?像windows nt这样的系统,每个进程拥有4G的虚存,记住,是每个进程。其中3-4G影射为操作系统的核心,是只读的,1-2G映射为用户空间,其中一部分是系统提供的动态链接库。
对于每一个进程,操作系统只向物理内存映射少数的地址,这是因为 RAM 实在是太宝贵、太稀缺了。进程的剩下的内存实际上都保存在二级存储器(通常是硬盘)上。这就是为什么要叫虚拟内存的原因。没有映射到物理 RAM 的地址都被做上了标记。只要进程一访问这样的地址,操作系统就将数据从二级存储器上取回到内存。若操作系统把物理 RAM 用光了,它就把一些数据换出来腾出空间。之后我们还可以把这些数据取回,因为它们都保存在在二级存储器上。那些数据被换出是由替换策略决定的。Windows NT 使用先进先出(First-In-Firs